package algorithm.easy;

import java.util.*;

/**
 * 给你字符串 key 和 message ，分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下：
 *
 * 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。
 * 将替换表与普通英文字母表对齐，形成对照表。
 * 按照对照表 替换 message 中的每个字母。
 */
public class DecodeMessage2325 {

    public static String decodeMessage(String key, String message) {
        HashMap<Character, Character> map = new HashMap<>();
        int index = 0;
        for (char c : key.toCharArray()) {
            if (map.get(c) == null) {
                if (' ' == c) {
                    continue;
                }
                map.putIfAbsent(c, (char) ('a' + index));
                index++;
            }
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (char c : message.toCharArray()) {
            stringBuilder.append(map.getOrDefault(c, c));
        }
        return stringBuilder.toString();
    }

    public static void main(String[] args) {
        System.out.println(" ".equals(" ".charAt(0)));
    }

}
